/*****************************************************************
Wowengine - v0.1

File: main.cpp
Creation date: 2009-04-03
*****************************************************************/

/****************************************************************/
#include <windows.h>
#include "wgame.h"
/****************************************************************/

//----------------------------------------------------------------
int WINAPI WinMain (HINSTANCE hInstance,
					HINSTANCE hPrevInstance,
					LPSTR lpCmdLine,
					int nCmdShow)
{
	Game* pkGame = new Wgame(hInstance);

	/****************************/
	// Inicializa el juego
	/****************************/
	if (!pkGame->Init())
	{
		return 0;
	}

	// Flag para cortar el main Loop
	bool bQuit = false;
	MSG kMsg;

	/****************************/
	// Loop del juego
	/****************************/
	while (!pkGame->Loop() && !bQuit)
	{
		// Captura el mensaje de Windows
		if (PeekMessage(&kMsg, NULL, 0, 0, PM_REMOVE))
		{
			switch (kMsg.message)
			{
				// Si es un mensaje de salir de la aplicación
				case WM_QUIT:
					// Corta el Loop
					bQuit = true;
					break;

				// Si es un mensaje de presionar una tecla
				case WM_KEYDOWN:
				{
					int iKeyCode = (int)kMsg.wParam;

					switch (iKeyCode)
					{
						// Si esa tecla es ESC
						case VK_ESCAPE:
							// Corta el Loop
   							bQuit = true;
							break;
					}
					break;
				}
			}

			// Le pasa el mensaje de vuelta a Windows
			TranslateMessage(&kMsg);
			DispatchMessage(&kMsg);
		}
	}

	/****************************/
	// Termina el juego
	/****************************/
	pkGame->Deinit();

	delete pkGame;
	pkGame = NULL;

	return 0;
}
//----------------------------------------------------------------